//
//  UIView+TLUIView.m
//  PiyingkeLibrary
//
//  Created by Tianlong on 2017/5/22.
//
//

#import "UIView+TLUIView.h"


@implementation UIView (TLUIView)
@dynamic cornerLayer;
+ (id)loadFromNib
{
    NSString *className = NSStringFromClass([self class]);
    return [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];
}
- (void)setSize:(CGSize)size
{
    CGRect frame = self.frame;
    frame.size = size;
    self.frame = frame;
}

- (CGSize)size
{
    return self.frame.size;
}

- (void)setX:(CGFloat)x
{
    CGRect frame = self.frame;
    frame.origin.x = x;
    self.frame = frame;
}

- (CGFloat)x
{
    return self.frame.origin.x;
}

- (void)setY:(CGFloat)y
{
    CGRect frame = self.frame;
    frame.origin.y = y;
    self.frame = frame;
}

- (CGFloat)y
{
    return self.frame.origin.y;
}

- (void)setWidth:(CGFloat)width
{
    CGRect frame = self.frame;
    frame.size.width = width;
    self.frame = frame;
}

- (CGFloat)width
{
    return self.frame.size.width;
}

- (void)setHeight:(CGFloat)height
{
    CGRect frame = self.frame;
    frame.size.height = height;
    self.frame = frame;
}

- (CGFloat)height
{
    return self.frame.size.height;
}

- (void)setCenterX:(CGFloat)centerX
{
    CGPoint center = self.center;
    center.x = centerX;
    self.center = center;
}

- (CGFloat)centerX
{
    return self.center.x;
}

- (void)setCenterY:(CGFloat)centerY
{
    CGPoint center = self.center;
    center.y = centerY;
    self.center = center;
}

- (CGFloat)centerY
{
    return self.center.y;
}

/**
 获取当前view所在的控制器
 */
-(UIViewController *)getCurrentVC{
    UIResponder *next = [self nextResponder];
    do {
        if ([next isKindOfClass:[UIViewController class]]) {
            UIViewController *vc = (UIViewController *)next;
            return vc;
        }
        next = [next nextResponder];
    } while (next != nil);
    return nil;
}

-(void)setupDottedLineColor:(UIColor *)color inRect:(CGRect)inRect lineCap:(NSString *)lineCap lineWidth:(CGFloat)lineWidth{
    CAShapeLayer *border = [CAShapeLayer layer];
    border.strokeColor = color.CGColor;
    border.fillColor = nil;
    border.path = [UIBezierPath bezierPathWithRect:inRect].CGPath;
    border.frame = CGRectMake(0, 0, inRect.size.width, inRect.size.height);
    border.lineWidth = lineWidth;
    border.lineCap = lineCap;//@"square";
    border.lineDashPattern = @[@4, @2];
    [self.layer addSublayer:border];
}


-(void)findSubViews{
    for (UIView *sub in self.subviews) {
        NSLog(@"findSubViews.class = %@",NSStringFromClass([sub class]));
        [sub findSubViews];
    }
}


@end
